//
// Created by Fronch Darly on 2021/2/26.
//

#ifndef STUDYDAY_LOG_UTILS_H
#define STUDYDAY_LOG_UTILS_H


#include <android/log.h>
#define TAG "darly-jni" // 这个是自定义的LOG的标识
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,TAG ,__VA_ARGS__) // 定义LOGD类型
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,TAG ,__VA_ARGS__) // 定义LOGI类型
#define LOGW(...) __android_log_print(ANDROID_LOG_WARN,TAG ,__VA_ARGS__) // 定义LOGW类型
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,TAG ,__VA_ARGS__) // 定义LOGE类型
#define LOGF(...) __android_log_print(ANDROID_LOG_FATAL,TAG ,__VA_ARGS__) // 定义LOGF类型

typedef void (*logCallback)(int , const char *,void *userData);
/**
* Java或者其他语言，注册的回调监听。
* @param callback 原始回调
* @param impl C++中的实现
*/
extern void registerLogListener(logCallback callback, void* impl);
/**
 * 输出日志。
 * @param msg 日志信息
 */
void showLog(const char *msg);


typedef void (*ThreadCallback)(int , const char *,void *userData);


extern void registerThreadListener(ThreadCallback callback, void* impl);

void receive(const char *json);

#endif //STUDYDAY_LOG_UTILS_H

